Challenge #25: Creating Merchant Combos 〜訪問した店舗の組み合わせの作成〜 – Alteryx Weekly Challenge
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
当エントリは『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』の2日目です。
- >Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018 - Qiita
- Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018 | シリーズ | Developers.IO
『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』では、Alteryx Communityで公開されているWeekly ChallengeのIntermediate Levelにひたすら1人で挑戦していきます。
今回は訪問した店舗の組み合わせの作成に挑戦します。
動作環境
当エントリの執筆には、以下の環境を利用しています。
- Windows 10 Pro
- Alteryx Designer 2018.4.3.54046 英語版
Challenge #25: Creating Merchant Combos
お題
今回挑戦するお題はこちら。
「Input」側のデータはこちら。
「Output」側のデータはこちら。ユーザーごとに訪れた店舗の組み合わせを出力します。
もし「Merchant2」以降の列にNullが含まれる場合は、Nullと店舗の組み合わせ(1つの店舗のみ訪問)も出力しています。
解答の概要
今回作成するワーフクローは以下の通りです。
- Transpose、Joinツールでデータを2つ並べて出力
- Uniqueツールで重複するデータを削除
- Formula、Filterツールで不要なデータの削除
- Selectツールで列名の変更と不要な列の削除
解答の詳細
まずはTransposeツール(Transform -> Transpose)を使用してデータを縦持ちに変換します。 Key Fields には「UserID」「Count」を選択し、Data Fields には「Merchant1」から「Merchant5」列を選択します。
Joinツール(Join -> Join)を使用して同じデータを結合し、縦持ちにしたデータを並べて出力します。出力されるデータのうち「Right_UserID」列は不要なので削除します。
ここまでの処理で、縦持ちにしたデータが2つ並んで出力されるようになりました。
Uniqueツール(Preparation -> Unique)を使用して、「UserID」「Value」「Right_Value」列のデータがユニークなもののみ抽出します。
Formulaツール(Prepatation -> Formula)を使用して、新しく「Flag」列を作成し、不要なデータにフラグを立てます。
式は以下の通り設定しています。
if ToNumber(Right([Name], 1)) >= ToNumber(Right([Right_Name], 1)) and !IsNull([Value]) then "y" elseif IsNull([Right_Value]) then "y" else [Right_Value] endif
- 「Name」列の番号が「Right_Name」列の番号以上であり「Value」列がNullではない場合に「y」を出力
- 「Right_Value」列がNullの場合に「y」を出力
- それ以外の場合に「Right_Value」列を出力
Filterツール(Preparation -> Filter)を使用して、「Flag」列が「y」以外のデータを出力します。
Selectツール(Preparation -> Select)を使用して、「Name」「Right_Name」「Flag」列を削除し、「Value」「Right_Value」列を「Merchant1」「Merchant2」列に変更します。
ワークフローを実行して完成です。
最後に
今回はWeekly ChallengeのChallenge #25: Creating Merchant Combosに挑戦しました。
明日もお楽しみに!
サンプルワークフローのご案内
クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。